Thomas Guillem [Wed, 11 Sep 2024 06:16:36 +0000 (08:16 +0200)]
packetizer: dts: check for frame_size for the first sync
Only substreams are allowed to have a frame_size of 0.
(cherry picked from commit 16b31aa57e3919dbe661c213868dee4b8bc1e3bd) Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Gbp-Pq: Name 0030-packetizer-dts-check-for-frame_size-for-the-first-sy.patch
Thomas Guillem [Wed, 11 Sep 2024 06:15:52 +0000 (08:15 +0200)]
dts_header: initialize SUBSTREAM_LBR size to 0
It's a substream and can't work alone, so a size of 0 is legitimate.
Fixes #28773 (Use of uninitialised value)
(cherry picked from commit b23f09b258dc63c2221af502ec856630f68817e5) Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Gbp-Pq: Name 0029-dts_header-initialize-SUBSTREAM_LBR-size-to-0.patch
Mangal Kushwah [Fri, 9 Aug 2024 14:00:05 +0000 (19:30 +0530)]
codec: videotoolbox: remove sw decoder fallback for mp4v
commit 7a2bf498d545d500d30636970fa930eb54de5569 insert packetizer for
xvid mpeg4 video, so now hw decoder can decode xvid encoded video
without any playback issues.
Mangal Kushwah [Thu, 8 Aug 2024 16:00:19 +0000 (21:30 +0530)]
demux: AVI insert packetizer for XVID MPEG-4 video
Older DivX-encoded videos commonly use an method called packed
bitstream which puts several video frames into a single AVI chunk.
Since Packed bitstream isn't standard MPEG-4 it causes playback issues
with some hw decoders.
Steve Lhomme [Thu, 18 Jul 2024 07:27:00 +0000 (09:27 +0200)]
opencv: check the image conversion worked
Otherwise we release the output picture that would have been used and returned.
(cherry picked from commit 19813291fcfb31ddd91a2e4d0f1d37ad3239d300) (rebased)
rebased:
- p_filter->p_sys is p_sys on 4.0 Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
Gbp-Pq: Name 0019-opencv-check-the-image-conversion-worked.patch
Steve Lhomme [Thu, 18 Jul 2024 07:23:58 +0000 (09:23 +0200)]
magnify: check the image conversion worked
return NULL on failure as we cannot produce the required output.
Fixes #28707
(cherry picked from commit 990de75bc0a7db5f2c4e4cb88e868b75b689ac7d) (rebased)
rebased:
- picture_CopyPixels is called picture_CopyVisiblePixels on 4.0 Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
Gbp-Pq: Name 0018-magnify-check-the-image-conversion-worked.patch
Maxime Even [Mon, 8 Jul 2024 15:51:14 +0000 (17:51 +0200)]
spectrogram: allows better visualization of low frequencies
In some cases, Y which represents the height of a column was equal to 1
and therefore when passed through the log, the output displayed was
zero, by adding this 0.1, this allows you to see a column when y = 1
without really changing the height of each column
Maxime Even [Mon, 8 Jul 2024 15:41:39 +0000 (17:41 +0200)]
spectrogram: convert int16 to unsigned for correct range
p_dest is used to set the height of the column, and it is used
as a variable defined from zero to 2^16 - 1. It is therefore
considered in the rest of the program as an unsigned int 16.
Moreover, the value that we put inside are a sum of two squared
real value, so they are necessarily positive.
Maxime Even [Tue, 9 Jul 2024 11:20:25 +0000 (13:20 +0200)]
spectrogram: fix FFT result scaling factor
This function is just a scaling operation that passes a value between 0 and
FFT_SCALING_VALUE to a value between 0 and 2^16-1.
It is therefore a power that must be applied here and not a xor.
Moreover, the initial formula was quite wrong since it was assuming that the max_input
value, which is a signed int 16, was 2^15 = 32768 where it is in fact 2^15-1=32767.
Moreover, the initial formula wasn't taking into account that, since the
output of the fft_perform is the sum of two variables which have for max value
(FFT_BUFFER_SIZE / 2 * INT16_MAX)^2, then we need to multiply the final max
value by 2.
Corrects the following compiler warnings:
visualization/glspectrum.c:528:43: warning: result of ‘2^16’ is 18; did you mean ‘1 << 16’ (65536)? [-Wxor-used-as-pow]
visualization/visual/effects.c:216:40: warning: result of ‘2^16’ is 18; did you mean ‘1 << 16’ (65536)? [-Wxor-used-as-pow]
When introducing SAT>IP support, we added a fallback mechanism on
officially published channel lists in case the user neither specified
a custom list nor the used set-top box provided one.
With the end of the SAT>IP Alliance that was dissolved 3 years ago, the
fallback server is no longer available and there will be no replacement
so this feature was removed.
Alaric Senat [Mon, 24 Jun 2024 16:11:23 +0000 (18:11 +0200)]
transcode: fix destructive assignment after drain
The drain checks are done after the first encoder output fetch. At this
point, `out` is already filled with some frames gotten from the encoder
some lines above:
```
// ...
if( p_sys->i_threads >= 1 )
{
/* Pick up any return data the encoder thread wants to output. */
vlc_mutex_lock( &p_sys->lock_out );
*out = p_sys->p_buffers;
p_sys->p_buffers = NULL;
vlc_mutex_unlock( &p_sys->lock_out );
}
// ...
```
This assignment currently leaks all previously gathered frames to
replace them by the drained output. This patch appends the drained
frames to the existing output instead.
Gbp-Pq: Name 0008-transcode-fix-destructive-assignment-after-drain.patch
../../include/vlc_variables.h:563:5: warning: due to lvalue conversion of the controlling expression, association of type 'const struct vlc_common_members' will never be selected because it is qualified [-Wunreachable-code-generic-assoc]
var_Create( p_obj, psz_name, VLC_VAR_STRING | VLC_VAR_DOINHERIT
^
../../include/vlc_variables.h:122:39: note: expanded from macro 'var_Create'
#define var_Create(a,b,c) var_Create( VLC_OBJECT(a), b, c )
^
../../include/vlc_common.h:481:15: note: expanded from macro 'VLC_OBJECT'
const struct vlc_common_members: (const vlc_object_t *)(&(x)->obj) \
Gbp-Pq: Name 0007-vlc_common-remove-warnings-on-VLC_OBJECT.patch
Steve Lhomme [Wed, 5 Jun 2024 09:55:39 +0000 (11:55 +0200)]
demux: image: detect ICC profile before JFIF data
Fixes #18857
(cherry picked from commit 5ffd36ffa26a83ae498373f7d0ace1d82ab952f4) Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
Gbp-Pq: Name 0004-demux-image-detect-ICC-profile-before-JFIF-data.patch
The generated cache is not used in the package. It causes spurious build
failures on the arm64 and ppc64el builds, that are not reproducible
elsewhere.
Gbp-Pq: Name 0002-Do-not-generate-cache-during-build.patch